今天的題目為101.Symmetric Tree,這題的題目是在問說這棵二元樹是否為對稱,以root為中心的左右對稱
以下為程式碼以及解說:
class Solution {
public boolean isSymmetric(TreeNode root) {
return isMirror(root,root);
//呼叫isMirror 來確認是否為鏡向
}
private boolean isMirror(TreeNode t1,TreeNode t2){
if(t1 == null && t2 == null){
return true;
}
if(t1 == null || t2 == null){
return false;
}
return(t1.val == t2.val) &&
isMirror(t1.left,t2.right) &&
isMirror(t1.right,t2.left);
//檢查兩個節點的值是否相等
//檢查 t1 的左子樹和 t2 的右子樹是否鏡像
//檢查 t1 的右子樹和 t2 的左子樹是否鏡像
}